#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# @Time: 2019/4/9  20:44
# @Author: 余浪人
# @email: yulangren520@gmail.com

import datetime
import os


# ******* 配置项目路径 *******#
def get_sys_uri():
    base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    return base_dir


# ******* 配置Redis *******#
def get_redis():
    from redis import Redis
    r = Redis(host='127.0.0.1', port=6379, db=0, password=None, socket_connect_timeout=10)
    return r


# ******* 配置MYSQL *******#
def Mysql(user, password, dbName, location='localhost', post=3306):
    return f"mysql+cymysql://{user}:{password}@{location}:{post}/{dbName}"


# ********************************************** 配置信息**********************************************#
class Config:
    # ******* 配置数据库 *******#
    SQLALCHEMY_DATABASE_URI = Mysql('root', '248369', 'tl_cms', 'localhost', 3306)  # Mysql 数据库
    # SQLALCHEMY_DATABASE_URI = 'sqlite:///{}/tl_cms_db.db'.format(get_sys_uri())  # sqlite 数据库
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    # ******* 配置session *******#
    SESSION_TYPE = "redis"
    SESSION_REDIS = get_redis()
    SESSION_USE_SIGNER = True  # 发送到浏览器上session的cookie值进行加密
    SESSION_KEY_PREFIX = "TL_CMS"  # 保存到session中的值的前缀
    PERMANENT_SESSION_LIFETIME = datetime.timedelta(seconds=12 * (60 * 60))  # 设置session过期时间
    # ******* 配置token *******#
    SECRET_KEY = '*!-TL-&*1'  # token key ( 解密 )
    EXPIRATION = 25200  # API KEY 有效期   ( 默认一周 )
    # ******* 配置系统分页数 *******#
    PAGE_INTERVAL = 15
    # ******* 配置前台列表分页数 *******#
    WEB_PAGE_INTERVAL = 11
    # ******* 配置上传文件地址 *******#
    FILE_PATH = 'uploads/'  # 保存目录
    # ******* 配置系统信息 *******#
    HOST = 'http://127.0.0.1'  # 例: http://www.baidu.com
    PORT = 8080


# 开发环境
class DevelopmentConfig(Config):
    DEBUG = True


# 生产环境
class ProductionConfig(Config):
    DEBUG = False
    # ******* 配置数据库 *******#
    # SQLALCHEMY_DATABASE_URI = Mysql('用户名', '密码', '数据库名','localhost',3306)  # Mysql 数据库
    # SQLALCHEMY_DATABASE_URI = 'sqlite:///{}/tl_cms_db.db'.format(get_sys_uri())  # sqlite 数据库
    # SQLALCHEMY_DATABASE_URI = Mysql('root', '', 'tl_cms', 'localhost', 3306)  # Mysql 数据库
